Например вывести все регулярные файлы не начинающиеся с точки
и не заканчивающиеся знаком тильда в каталоге в котором выполняется поиск.
BashВыделить код
1
find . -maxdepth 1 -type f -regex '^./[^.].*[^~]$'
Типы регулярок можно выбирать командой -regextype
А вот тоже самое в конвеере:
BashВыделить код
1
find . -maxdepth 1 -type f -printf "%f\n" | egrep '^[^.].*[^~]$'
0
Sergeyygra
0 / 0 / 0
Регистрация: 10.09.2012
Сообщений: 82
23.05.2016, 11:45  [ТС]	3
Если по заданию то так получается?

BashВыделить код

find . /(-not -name "a" -o -not -name "a*a"/) -print



find  -regex '.*/[^a]*.*[^a]$' -type f -exec cat {} \;
0
Sergeyygra
0 / 0 / 0
Регистрация: 10.09.2012
Сообщений: 82
23.05.2016, 14:21  [ТС]	5
А если например файл будет односимвольный? Ну например иметь в имени всего лишь одну букву ту же "а" к примеру, как тогда вывести правильно?

Добавлено через 42 секунды
А как мне проверить эту команду лучше? Создать несколько файлов с именами и ввести команду так лучше да?

Добавлено через 1 минуту
Или сначала каталог создать и там создать несколько любых файлов, можно для примера что -то продемонстрировать?
0
Marinero
Эксперт NIX
2794 / 2037 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
23.05.2016, 21:17	6
BashВыделить код
1
find <dir> ! -name 'a*a' ! -name 'a'
